package com.tang.crm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tang.crm.dto.CustomerDto;
import com.tang.crm.entity.Customer;

import java.util.Map;

public interface CustomerService extends IService<Customer> {

    /**
     * 分页查询
     * @param customerDto
     * @return
     */
    Map<String, Object> selectAllByParams(CustomerDto customerDto);

    /**
     * 添加客户信息
     * @param customer
     */
    void addCustomer(Customer customer);

    /**
     * 更新客户信息
     * @param customer
     */
    void updateCustomer(Customer customer);

    /**
     * 删除客户信息
     * @param customerId
     */
    void deleteCustomer(Integer customerId);

    /**
     * 更新客户的流失状态
     */
    void updateCustomerState();

    /**
     * 查询客户贡献值
     * @param customerDto
     * @return
     */
    Map<String, Object> selectCustomerContributionByParams(CustomerDto customerDto);

    /**
     * 查询客户构成 （折线图数据处理）
     * @return
     */
    Map<String, Object> countCustomerMake();

    /**
     * 查询客户构成 （饼状图数据处理）
     * @return
     */
    Map<String, Object> countCustomerPieGraph();
}
